package com.android.support.lib.universal.adapter;

import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.ViewGroup;

/**
 * 使用说明，只需重写instantiateItem方法即可 MyPagerAdapter adapter=new MyPagerAdapter(count){
 *
 * @author 彭治铭
 */
//实例：
//ViewPagerAdapter adapter=new ViewPagerAdapter(viewList.size()){//重写instantiateItem方法
//@Override
//public Object instantiateItem(ViewGroup container, int position) {
//        int index=position % viewList.size();//获取当前下标
//        //View view = viewList.get(index);//获取视图,这样很容易报The specified child already has a parent错误。因为view对象可能是同一个对象。
//        View view = View.inflate(context, R.layout.布局ID, null);//获取视图，View.inflate实例化一个新视图。即new 一个新对象。不会产生The specified child already has a parent错误。
//        //返回视图，写死，必不可少
//        container.addView(view);
//        return view;
//        }
//        };
public class ViewPagerAdapter extends PagerAdapter {

    public ViewPagerAdapter(int count) {
        this.count = count;
    }

    // 适配器的个数,默认Integer最大值。
    int count = Integer.MAX_VALUE;

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return count;
    }

    /**
     * 实例化的时候，重新该方法（其他方法基本不用去管了）即可添加布局和相应的事件
     */
    // @Override
    // public Object instantiateItem(ViewGroup container, int position) {
    //    //View view = viewList.get(index);//获取视图,这样很容易报The specified child already has a parent错误。因为view对象可能是同一个对象。
    // View view = View.inflate(context, R.layout.布局ID, null);//获取视图，View.inflate实例化一个新视图。即new 一个新对象。不会产生The specified child already has a parent错误。
    // ImageView iv = (ImageView) view.findViewById(R.id.控件ID);//获取控件
    // UtilUniversal.getInstance().setRoundImage("url", iv);//获取网络图片
    // int index=position % Config.countDot;//获取当前下标
    // // 添加事件
    // iv.setOnClickListener(new OnClickListener() {
    //
    // @Override
    // public void onClick(View v) {
    //
    // }
    // });
    //
    // //返回视图，写死，必不可少
    // viewPager.addView(view);//或container.addView(view);
    // return view;
    // }
    @Override
    public boolean isViewFromObject(View arg0, Object arg1) {
        // TODO Auto-generated method stub
        return arg0 == arg1;
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        ((ViewPager) container).removeView((View) object);
    }

    @Override
    public int getItemPosition(Object object) {
        return PagerAdapter.POSITION_NONE;
    }

}
